const fs = require('fs');
const path = require('path');

console.log('=== 健康预测页面路由测试 ===\n');

// 检查HealthPrediction.ets文件是否存在
const predictionPagePath = path.join(__dirname, 'entry', 'src', 'main', 'ets', 'features', 'patient', 'HealthPrediction.ets');
const fileExists = fs.existsSync(predictionPagePath);
console.log(`健康预测页面文件是否存在: ${fileExists ? '✓ 存在' : '✗ 不存在'}`);

if (fileExists) {
    // 检查文件内容的基本结构
    const fileContent = fs.readFileSync(predictionPagePath, 'utf-8');
    
    // 检查是否是一个有效的组件
    const hasComponent = fileContent.includes('@Component') && fileContent.includes('struct HealthPrediction');
    console.log(`是否为有效的组件结构: ${hasComponent ? '✓ 是' : '✗ 否'}`);
    
    // 检查是否导入了router
    const hasRouterImport = fileContent.includes('import router from');
    console.log(`是否导入了router模块: ${hasRouterImport ? '✓ 是' : '✗ 否'}`);
    
    // 检查返回功能
    const hasBackFunction = fileContent.includes('router.back') || fileContent.includes('router.replace');
    console.log(`是否有返回/跳转功能: ${hasBackFunction ? '✓ 是' : '✗ 否'}`);
} else {
    console.error('错误: 健康预测页面文件不存在，这可能是路由失败的主要原因');
}

// 检查FunctionDirectory.ets中的配置
const functionDirPath = path.join(__dirname, 'entry', 'src', 'main', 'ets', 'pages', 'FunctionDirectory.ets');
const functionDirExists = fs.existsSync(functionDirPath);

if (functionDirExists) {
    const functionDirContent = fs.readFileSync(functionDirPath, 'utf-8');
    
    // 检查健康预测功能项是否配置正确
    const hasPredictionItem = functionDirContent.includes('id: \'prediction\'') && 
                             functionDirContent.includes('route: \'features/patient/HealthPrediction\'');
    console.log(`\nFunctionDirectory中是否有正确的健康预测配置: ${hasPredictionItem ? '✓ 是' : '✗ 否'}`);
    
    // 检查特殊处理逻辑
    const hasSpecialHandling = functionDirContent.includes('item.id === \'prediction\'');
    console.log(`是否为健康预测页面添加了特殊处理: ${hasSpecialHandling ? '✓ 是' : '✗ 否'}`);
} else {
    console.error('错误: FunctionDirectory.ets文件不存在');
}

// 检查路由路径格式是否符合HarmonyOS要求
const expectedRouteFormat = 'features/patient/HealthPrediction';
console.log(`\n预期的路由路径: ${expectedRouteFormat}`);
console.log('注意: HarmonyOS中路由路径应使用相对路径，不能包含前导斜杠');

// 检查app.json5中的配置
const appJsonPath = path.join(__dirname, 'AppScope', 'app.json5');
if (fs.existsSync(appJsonPath)) {
    const appJsonContent = fs.readFileSync(appJsonPath, 'utf-8');
    const hasPredictionInAppJson = appJsonContent.includes('HealthPrediction');
    console.log(`\napp.json5中是否包含健康预测页面: ${hasPredictionInAppJson ? '✓ 是' : '✗ 否'}`);
    if (!hasPredictionInAppJson) {
        console.warn('警告: 健康预测页面可能需要在app.json5中注册');
    }
}

console.log('\n=== 路由测试完成 ===');